/**
 * copy指令
 *  
 *  使用方式：
 *    v-copy="value"
 */


const copy = (el, binding) => {
    el.onclick= () =>{
        //创建input元素
        const input = document.createElement("input");
        //设置input元素的value属性为binding.value
        input.value = binding.value;
        //将input元素添加到body中
        document.body.appendChild(input);
        //选中input元素
        input.select();
        //复制input元素的值
        document.execCommand("Copy");
        //删除input元素
        document.body.removeChild(input);
        // console.log("click",binding.value);
    } 
}

export default copy



//1.对象定义的写法
// const copy = {
//   // 在绑定元素的 attribute 前
//   // 或事件监听器应用前调用
//   created(el, binding, vnode) {
//     // 下面会介绍各个参数的细节
//   },
//   // 在元素被插入到 DOM 前调用
//   beforeMount(el, binding, vnode) {},
//   // 在绑定元素的父组件
//   // 及他自己的所有子节点都挂载完成后调用
//   mounted(el, binding, vnode) {
//     // console.log("el",el);
//     // console.log("binding",binding);
//     // console.log("vnode",vnode);
//     // console.log("prevVnode",prevVnode);
//   },
//   // 绑定元素的父组件更新前调用
//   beforeUpdate(el, binding, vnode, prevVnode) {},
//   // 在绑定元素的父组件
//   // 及他自己的所有子节点都更新后调用
//   updated(el, binding, vnode, prevVnode) {
//     console.log("el",el);
//     console.log("binding",binding);
//     console.log("vnode",vnode);
//     console.log("prevVnode",prevVnode);
//   },
//   // 绑定元素的父组件卸载前调用
//   beforeUnmount(el, binding, vnode) {},
//   // 绑定元素的父组件卸载后调用
//   unmounted(el, binding, vnode) {}
// }
//2.简写函数式定义的写法
//表示两个钩子，mounted\updated
// const copy = (el, binding, vnode, prevVnode) => {
//     console.log("copy");
    
// }

// export default copy